package com.itheima.config;

import com.itheima.interceptor.DemoInterceptor;
import com.itheima.interceptor.TokenInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

//@Configuration//配置类，由容器来创建对象,@Service,@Repository作用是一样。为了做到见名知义
// 定义哪些对象由容器来创建, @Bean SpringBoot原理时会讲
public class WebConfig implements WebMvcConfigurer {
    //@Autowired
    private DemoInterceptor demoInterceptor;

    @Autowired
    private TokenInterceptor tokenInterceptor;

    //注册拦截器，配置拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //添加拦截器
        /*registry.addInterceptor(demoInterceptor)
            //拦截啥?，拦截哪个路径
            // /** 表示所有路径, spring认为 /* 一层目录 多层/**
            .addPathPatterns("/**")
            //排除的路径，不拦截,白名单放行
            .excludePathPatterns("/login");*/
        registry.addInterceptor(tokenInterceptor)
            //拦截啥?，拦截哪个路径
            // /** 表示所有路径, spring认为 /* 一层目录 多层/**
            .addPathPatterns("/**");
    }
}
